From: Simon McVittie Date: Sun, 15 Feb 2026 17:28:58 +0000 (+0000) Subject: Add patch from libgvc to fix a regression for non-Bluetooth devices X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~32^2~1 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fc2582acbe9e7f3b72e2f2eabee5f96d72f9804d;p=gnome-shell.git Add patch from libgvc to fix a regression for non-Bluetooth devices --- diff --git a/debian/patches/mixer-control-Only-stream-id-for-bluetooth-devices-only.patch b/debian/patches/mixer-control-Only-stream-id-for-bluetooth-devices-only.patch new file mode 100644 index 000000000..f32593f47 --- /dev/null +++ b/debian/patches/mixer-control-Only-stream-id-for-bluetooth-devices-only.patch @@ -0,0 +1,50 @@ +From: =?utf-8?q?Guido_G=C3=BCnther?= +Date: Fri, 6 Feb 2026 18:24:26 +0100 +Subject: mixer-control: Only stream-id for bluetooth devices only +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 8bit + +They're the only ones that merely flip ports and clearing it for +other devices breaks e.g. lineout and headphone combinations. + +Fixes: 8bf60ee ("mixer-control: Reset `stream-id`s on UI devices") + +Bug: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/issues/40 +Signed-off-by: Guido Günther +--- + subprojects/gvc/gvc-mixer-control.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/subprojects/gvc/gvc-mixer-control.c b/subprojects/gvc/gvc-mixer-control.c +index 4576484..57dc2d4 100644 +--- a/subprojects/gvc/gvc-mixer-control.c ++++ b/subprojects/gvc/gvc-mixer-control.c +@@ -1218,7 +1218,8 @@ add_stream (GvcMixerControl *control, + static gboolean + match_stream_with_devices (GvcMixerControl *control, + GvcMixerStreamPort *stream_port, +- GvcMixerStream *stream) ++ GvcMixerStream *stream, ++ gboolean is_bluetooth) + { + g_autoptr (GList) devices = NULL; + guint stream_card_id; +@@ -1279,7 +1280,7 @@ match_stream_with_devices (GvcMixerControl *control, + in_possession = TRUE; + } else { + /* Other UI devices on that card that match the stream can't be valid */ +- if (device_stream_id == stream_id) { ++ if (device_stream_id == stream_id && is_bluetooth) { + g_object_set (G_OBJECT (device), + "stream-id", GVC_MIXER_UI_DEVICE_INVALID, + NULL); +@@ -1390,7 +1391,7 @@ sync_devices (GvcMixerControl *control, + GvcMixerStreamPort *stream_port; + stream_port = n->data; + +- if (match_stream_with_devices (control, stream_port, stream)) ++ if (match_stream_with_devices (control, stream_port, stream, is_bluetooth)) + continue; + + g_warning ("Sync_devices: Failed to match stream id: %u, description: '%s', origin: '%s'", diff --git a/debian/patches/series b/debian/patches/series index 8c91da106..388d5d4a5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ shell-app-Warn-instead-of-crashing-if-disposed-before-sta.patch debian/Revert-tests-Fail-on-warnings-too.patch debian/data-Add-im-config.desktop-to-System-folder.patch +mixer-control-Only-stream-id-for-bluetooth-devices-only.patch